# -*- coding: utf-8 -*-

def sum(a, b=0):    # 定义函数
    return a + b    # 返回a和b的和

c = sum(1, 2)   # 按形参位置传入实参，简称位置实参
c = sum(b=1, a=1)   # 指定形参名称传入实参，简称关键字实参
c = sum(1)      # 由于形参定义了b=0，所以实参不传人b，b默认为0


def name(*args):     # 形参前面带*号表示可以传入任意个实参
    print(args)

name('小明', '小红')    # 传入多个实参，会变成一个元组传入


def name(**kwargs):     # 形参前面带**表示可以传入任意个关键字实参
    for k, v in kwargs.items():
        print(k, v)

name(age=18, sex='男')   # 传入多个关键字实参，会变成一个字典传入


c = lambda a, b: a + b  # 使用Lambda声明为匿名函数，也就是没有名字的函数，不过我们可以把它赋值到一个变量上
print(c(1, 2))